// pages/publish/publish.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    array: ['丢失', '捡到'],
    objectArray: [
      {
        id: 0,
        name: "丢失"
      },
      {
        id: 1,
        name: "捡到"
      }
    ],
    index: 0,
    name: "",
    address: "",
    images: []
  },

  //提交表单
  publishSubmit: function(e){
    let _this = this;
    // console.log(e.detail.value)
    let publishInfo = e.detail.value;
    let images = this.data.images;
    let _images = [];
    let uploadedNum = 0;
    //图片上传
    if(images.length>0){
      wx.showLoading({
        title: '图片上传中...',
        mask: true
      })
      for(let path of images){
        wx.uploadFile({
          url: 'http://localhost:3000/api/uploadImage',
          filePath: path,
          name: 'file',
          header: {
            'content-type': 'multipart/form-data'
          }, // 设置请求的 header
          success: function (res) {
            _images.push(JSON.parse(res.data).path);
            uploadedNum++;
            console.log(uploadedNum);
            if(uploadedNum==images.length){
              publishInfo.images = _images;
              console.log(publishInfo);
              wx.request({
                url: 'http://localhost:3000/publish/new',
                method: 'POST',
                data: {
                  authorization: wx.getStorageSync('token'),
                  publishInfo: publishInfo
                },
                success: res => {
                  console.log(res.data)
                  wx.showToast({
                    title: '发布成功',
                    icon: 'success',
                    duration: 2000
                  })
                  _this.setData({
                    index: 0,
                    name: "",
                    address: "",
                    images: []
                  })
                }
              })

            }
          },
          fail: function(err){
            wx.showToast({
              title: '图片上传失败！',
              icon: 'fail',
              duration: 2000
            })
          }
        })
      }
      wx.hideLoading();
    }
  },

  //发布类型处理
  bindPickerChange: function (e) {
    this.setData({
      index: e.detail.value
    })
  },

  //选择图片
  chooseImage: function (options) {
    var self = this;
    wx.chooseImage({
      count: 9, // 默认9
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
      success: function (res) {
        // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
        // var tempFilePaths = res.tempFilePaths
        const tempFilePaths = self.data.images.concat(res.tempFilePaths)
        self.setData({
          images: tempFilePaths
        })
      },
      fail: function (res) {
        console.log(res.errMsg)
      }
    })
  },

  //图片预览
  handleImagePreview(e) {
    const index = e.target.dataset.index
    const images = this.data.images
    wx.previewImage({
      current: images[index],  //当前预览的图片
      urls: images,  //所有要预览的图片
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})